/*
 * commons is a based project implemented
 * Copyright (C) 2024 Jasmine
 */
package com.commons.captcha.props;

import org.springframework.boot.context.properties.ConfigurationProperties;

import com.commons.captcha.enums.CaptchaTypeEnum;

/**
 * 验证码配置
 *
 * @author L.cm
 */
@ConfigurationProperties(CaptchaProperties.PREFIX)
public class CaptchaProperties {
    public static final String PREFIX = "captcha";
    /**
     * 验证码类型，默认：随机数
     */
    private CaptchaTypeEnum captchaType = CaptchaTypeEnum.RANDOM;

    /** 是否有边框 默认yes, 取值为yes/no */
    private String border;
    /**
     * 边框颜色
     */
    private String borderColor;
    /** 边框厚度 */
    private String borderThickness;

    /** 验证码图片宽度 */
    private String imageWidth;
    /** 验证码图片高度 */
    private String imageHeight;

    /** 文本集合，验证码值从此集合中获取 */
    private String charString;
    /** 验证码长度 */
    private String charLength;
    /** 字体 */
    private String fontNames;
    /** 字体大小 */
    private String fontSize;
    /** 字体颜色 */
    private String fontColor;
    /** 文字间隔 */
    private String charSpace;

    /** 干扰实现类 */
    private String noiseImpl;
    /** 干扰线颜色 */
    private String noiseColor;
    /** 图片样式 */
    private String obscurificatorImpl;

    /** 背景实现类 */
    private String backgroundImpl;
    /** 景颜色渐变，开始颜色 */
    private String backgroundClearFrom;
    /** 背景颜色渐变， 结束颜色 */
    private String backgroundClearTo;

    /** 文字渲染器 */
    private String wordImpl;

    public CaptchaTypeEnum getCaptchaType() {
        return captchaType;
    }

    public void setCaptchaType(CaptchaTypeEnum captchaType) {
        this.captchaType = captchaType;
    }

    public String getBorder() {
        return border;
    }

    public void setBorder(String border) {
        this.border = border;
    }

    public String getBorderColor() {
        return borderColor;
    }

    public void setBorderColor(String borderColor) {
        this.borderColor = borderColor;
    }

    public String getBorderThickness() {
        return borderThickness;
    }

    public void setBorderThickness(String borderThickness) {
        this.borderThickness = borderThickness;
    }

    public String getImageWidth() {
        return imageWidth;
    }

    public void setImageWidth(String imageWidth) {
        this.imageWidth = imageWidth;
    }

    public String getImageHeight() {
        return imageHeight;
    }

    public void setImageHeight(String imageHeight) {
        this.imageHeight = imageHeight;
    }

    public String getCharString() {
        return charString;
    }

    public void setCharString(String charString) {
        this.charString = charString;
    }

    public String getCharLength() {
        return charLength;
    }

    public void setCharLength(String charLength) {
        this.charLength = charLength;
    }

    public String getFontNames() {
        return fontNames;
    }

    public void setFontNames(String fontNames) {
        this.fontNames = fontNames;
    }

    public String getFontSize() {
        return fontSize;
    }

    public void setFontSize(String fontSize) {
        this.fontSize = fontSize;
    }

    public String getFontColor() {
        return fontColor;
    }

    public void setFontColor(String fontColor) {
        this.fontColor = fontColor;
    }

    public String getCharSpace() {
        return charSpace;
    }

    public void setCharSpace(String charSpace) {
        this.charSpace = charSpace;
    }

    public String getNoiseImpl() {
        return noiseImpl;
    }

    public void setNoiseImpl(String noiseImpl) {
        this.noiseImpl = noiseImpl;
    }

    public String getNoiseColor() {
        return noiseColor;
    }

    public void setNoiseColor(String noiseColor) {
        this.noiseColor = noiseColor;
    }

    public String getObscurificatorImpl() {
        return obscurificatorImpl;
    }

    public void setObscurificatorImpl(String obscurificatorImpl) {
        this.obscurificatorImpl = obscurificatorImpl;
    }

    public String getBackgroundImpl() {
        return backgroundImpl;
    }

    public void setBackgroundImpl(String backgroundImpl) {
        this.backgroundImpl = backgroundImpl;
    }

    public String getBackgroundClearFrom() {
        return backgroundClearFrom;
    }

    public void setBackgroundClearFrom(String backgroundClearFrom) {
        this.backgroundClearFrom = backgroundClearFrom;
    }

    public String getBackgroundClearTo() {
        return backgroundClearTo;
    }

    public void setBackgroundClearTo(String backgroundClearTo) {
        this.backgroundClearTo = backgroundClearTo;
    }

    public String getWordImpl() {
        return wordImpl;
    }

    public void setWordImpl(String wordImpl) {
        this.wordImpl = wordImpl;
    }
}
